// let hd = [1, 2, 3, { name: 'yahoo' }, [88, 1]]
// // console.log(typeof hd[3])

// // 深拷贝-数组
// function copy(data) {
//   let temp = []
//   for (const [key, value] of Object.entries(data)) {
//     if (typeof value === 'object') {
//       temp[key] = copy(value)
//     } else {
//       temp[key] = value
//     }
//   }
//   return temp
// }

// let newhd = copy(hd)
// newhd[0] = 88
// newhd[3].name = 'baidu'
// newhd[4][0] = 99
// console.log(newhd)
// console.log(hd)

// 深拷贝-对象
// let hdObj = { name: 'Peter', lesson: { title: 'JS课程' } }
let hdObj = [1, 2, 3, { name: 'yahoo' }, [88, 1]]

function copy(data) {
  // if (data instanceof Array) {
  //   let temp = []
  // }
  // let temp = {}

  let temp = data instanceof Array ? [] : {}

  for (const [key, value] of Object.entries(data)) {
    if (typeof value === 'object') {
      temp[key] = copy(value)
    } else {
      temp[key] = value
    }
  }
  return temp
}

let newhdObj = copy(hdObj)
newhdObj.name = 'Tom'
// newhdObj.lesson.title = 'Css课程'
console.log(hdObj)
console.log(newhdObj)
